# 变量的类型注解(就是对代码进行备注)——一般在无法直接看出变量类型的时候回添加变量注解
# 除了使用 变量:类型，这种语法做注解外，也可以在注释中进行类型的注解
import json
import random

# 基础数据类型注解
var_1: int = 10
var_2: str = "itxjd"
var_3: bool = True

# 类对象注解
class Student:
    pass
stu: Student = Student()

# 基础容器类型注解
my_list:list = [1,2,3]
my_tuple:tuple = (1,2,3)
my_dict:dict = {"it_xjd":666}

# 容器类型详细注解
my_list_detail:list[int] = [1,2,3]
my_tuple_detail:tuple[int,str,bool] = (1,"it_xjd",True)
my_dict_detail:dict[str,int] = {"it_xjd":666}

# 在注释中进行类型注解
var_4 = random.randint(1,10)    # type:int
var_5 = json.loads('{"name":""zheng san"}')     # type:dict[str,str]
def func():
    return 10
var_6 = func()  # type:int

# 类型注解的限制
# 类型注解仅仅是提示性的，不是决定性的